﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using E2_WEBSITE.Code.Product;

namespace E2_WEBSITE.cp.employee.manage
{
    public partial class ProductManage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
                FillTieuChiTimKiem();
        }

        private void FillTieuChiTimKiem()
        {
            dlTieuChiTimKiem.Items.Add("Tất cả");
            dlTieuChiTimKiem.Items.Add("Tên sản phẩm");
            dlTieuChiTimKiem.Items.Add("Loại sản phẩm");
            dlTieuChiTimKiem.Items.Add("Nhà sản xuất");
            dlTieuChiTimKiem.Items.Add("Nhà phân phối");
        }

        private void FillDlGiaTri1(String strType)
        {
            dlGiaTri1.Items.Clear();
            ProductController productController = new ProductController();
            switch (strType)
            {
                case "Loại sản phẩm":
                    List<LoaiSanPham> lspList = productController.GetLoaiSanPhamList();
                    for (int i = 0; i < lspList.Count; i++)
                    {
                        dlGiaTri1.Items.Add(lspList[i].TenLoaiSanPham);
                    }
                    break;
                case "Tên nhà sản xuất":
                    List<NhaSanXuat> nsxList = productController.GetNhaSanXuatList();
                    for (int i = 0; i < nsxList.Count; i++)
                    {
                        dlGiaTri1.Items.Add(nsxList[i].TenNSX);
                    }
                    break;
                case "Tên nhà phân phối":
                    List<NhaPhanPhoi> nppList = productController.GetNhaPhanPhoiList();
                    for (int i = 0; i < nppList.Count; i++)
                    {
                        dlGiaTri1.Items.Add(nppList[i].TenNhanPhanPhoi);
                    }
                    break;
            }
        }

        protected void SanPhamGrid_Select(object sender, Obout.Grid.GridRecordEventArgs e)
        { 
            string strID = "";

            if (e.RecordsCollection != null)
            {
                foreach (Hashtable oRecord in e.RecordsCollection)
                {
                    strID += "" + oRecord["ID"];
                    string url;
                    url = "ProductDetail.aspx?ID=" + strID;

                    Response.Redirect(url);
                }
            }
        }

        protected void btnHienThi_Click(object sender, EventArgs e)
        {
            ProductController productController = new ProductController();
            
            switch(dlTieuChiTimKiem.Text)
            {
                case "Tất cả":
                    SanPhamGrid.DataSource = productController.GetSanPhamList();
                    SanPhamGrid.DataBind();
                    break;
                case "Tên sản phẩm":
                    SanPhamGrid.DataSource = productController.GetSanPhamListWithTenSanPham(txtTenSanPham.Text);
                    SanPhamGrid.DataBind();
                    break;
                case "Loại sản phẩm":
                    SanPhamGrid.DataSource = productController.GetSanPhamListWithLoaiSanPham(dlGiaTri1.Text);
                    SanPhamGrid.DataBind();
                    break;
                case "Nhà sản xuất":
                    SanPhamGrid.DataSource = productController.GetSanPhamListWithNhaSanXuat(dlGiaTri1.Text);
                    SanPhamGrid.DataBind();
                    break;
                case "Nhà phân phối":
                    SanPhamGrid.DataSource = productController.GetSanPhamListWithNhaPhanPhoi(dlGiaTri1.Text);
                    SanPhamGrid.DataBind();
                    break;
            }
        }

        protected void dlTieuChiTimKiem_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (dlTieuChiTimKiem.Text)
            {
                case "Tất cả":
                    lbGiaTri1.Text = "";
                    lbGiaTri1.Visible = false;
                    dlGiaTri1.Visible = false;
                    txtTenSanPham.Visible = false;
                    break;

                case "Loại sản phẩm":
                    lbGiaTri1.Text = "Tên loại sản phẩm";
                    lbGiaTri1.Visible = true;
                    dlGiaTri1.Visible = true;
                    txtTenSanPham.Visible = false;
                    FillDlGiaTri1("Loại sản phẩm");
                    break;

                case "Nhà sản xuất":
                    lbGiaTri1.Text = "Tên nhà sản xuất";
                    lbGiaTri1.Visible = true;
                    dlGiaTri1.Visible = true;
                    txtTenSanPham.Visible = false;
                    FillDlGiaTri1("Tên nhà sản xuất");
                    break;
                case "Nhà phân phối":
                    lbGiaTri1.Text = "Tên nhà phân phối";
                    lbGiaTri1.Visible = true;
                    dlGiaTri1.Visible = true;
                    txtTenSanPham.Visible = false;
                    FillDlGiaTri1("Tên nhà phân phối");
                    break;
                case "Tên sản phẩm":
                    lbGiaTri1.Text = "Tên sản phẩm";
                    lbGiaTri1.Visible = true;
                    dlGiaTri1.Visible = false;
                    txtTenSanPham.Visible = true;
                    break;
            }
        }

        protected void btnThemSanPhamMoi_Click(object sender, EventArgs e)
        {
            Response.Redirect("AddProduct.aspx");
        }
    }
}
